Caching ব্যবহার করে পারফরম্যান্স বৃদ্ধি

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter এর Performance Optimization |

Caching হলো একটি প্রযুক্তি যা ডেটার পুনরায় রিকোয়েস্ট হওয়ার সময় সেটিকে দ্রুত অ্যাক্সেস করার জন্য সংরক্ষণ করে। এটি সাধারণত ডেটাবেস কোয়েরি অথবা ইউজার ইন্টারফেস দ্রুত লোড করার জন্য ব্যবহৃত হয়। CodeIgniter-এ caching ব্যবহার করে অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করা সম্ভব।

CodeIgniter বিভিন্ন ধরণের caching সাপোর্ট করে যেমন:

  • Page Caching
  • Query Caching
  • File Caching
  • Database Caching

Caching ব্যবহার করে পারফরম্যান্স বৃদ্ধি

১. Page Caching

Page Caching দ্বারা পুরো পেজের আউটপুট মেমোরিতে সংরক্ষণ করা হয়, যাতে একই পেজ পুনরায় রিকোয়েস্ট করার সময় ডেটাবেস বা কন্ট্রোলার থেকে পুনরায় রেন্ডার না করতে হয়।

Page Caching ব্যবহার

১.1 Controller এর মধ্যে Page Caching চালু করা
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    public function __construct() {
        parent::__construct();
    }

    // Page Caching সক্রিয় করা
    public function index() {
        $this->output->cache(60);  // 60 মিনিট পর্যন্ত এই পেজ কেচ করা হবে
        $this->load->view('welcome_message');
    }
}
  • $this->output->cache() ফাংশনটি ব্যবহার করে আমরা পেজটি কত মিনিট (এখানে 60 মিনিট) কেচ রাখতে চাই তা নির্ধারণ করি।
১.2 Cache Expiry

কেচড পেজগুলো একটি নির্দিষ্ট সময় পরে এক্সপায়ার হয়ে যাবে এবং সেগুলোর জন্য নতুন কন্টেন্ট জেনারেট হবে।


২. Query Caching

Query Caching ব্যবহার করে একটি ডাটাবেস কোয়েরির ফলাফলকে মেমোরিতে সংরক্ষণ করা হয়। যখন পরবর্তী সময়ে একই কোয়েরি চালানো হয়, তখন তা ডাটাবেস থেকে পুনরায় রিট্রিভ না করে কেবল কেচড ডেটা থেকে ফলাফল ফেরত দেয়, যা পারফরম্যান্স অনেক বৃদ্ধি করে।

Query Caching ব্যবহার

২.1 Query Caching চালু করা
$this->db->cache_on();  // Query Caching চালু করা

$query = $this->db->get('users');  // একই কোয়েরি আগের রিকোয়েস্টের জন্য কেচে থাকবে
২.2 Query Caching বন্ধ করা
$this->db->cache_off();  // Query Caching বন্ধ করা
২.3 Query Cache Clean করা
$this->db->flush_cache();  // সমস্ত কেচ ক্লিয়ার করা
  • Query Caching দ্বারা একই কোয়েরি বহুবার চালানোর সময় ডেটাবেস থেকে পুনরায় তথ্য পুনরুদ্ধার না করে দ্রুত ফলাফল পাওয়া যায়।

৩. File Caching

File Caching ব্যবহার করে অ্যাপ্লিকেশন বা পেজের ডেটা ফাইল হিসেবে সংরক্ষণ করা হয়। এটি একটি নির্দিষ্ট ফাইলে ডেটা সংরক্ষণ করে, এবং পরবর্তী সময়ে সেই ফাইলটি পড়ে ডেটা ব্যবহার করা হয়।

File Caching ব্যবহার

৩.1 File Caching চালু করা
$data = 'This is a cached data';
$file_path = './application/cache/my_cache_file.txt';

// ফাইল কেচিং লিখা
$this->cache->file->save($file_path, $data, 600);  // 600 সেকেন্ড পর্যন্ত কেচ থাকবে
৩.2 File Caching থেকে ডেটা পড়া
// ফাইল কেচিং থেকে ডেটা পড়া
$cached_data = $this->cache->file->get($file_path);

if ($cached_data) {
    echo 'Cache data: ' . $cached_data;
} else {
    echo 'No cache data found.';
}
৩.3 File Caching ক্লিয়ার করা
// ফাইল কেচিং মুছে ফেলা
$this->cache->file->delete($file_path);

৪. Database Caching

Database Caching ব্যবহার করে ডাটাবেস থেকে ডেটা রিট্রিভ করার সময় কেবল একবার কোয়েরি চালানো হয় এবং তার ফলাফল কেচড হয়। পরবর্তী রিকোয়েস্টে কেচড ডেটা ব্যবহার করা হয়।

Database Caching ব্যবহার

৪.1 Database Caching চালু করা
$this->db->cache_on();  // ডাটাবেস কেচিং চালু করা
$query = $this->db->get('users');  // কোয়েরি রেজাল্ট কেচ হবে
৪.2 Database Caching বন্ধ করা
$this->db->cache_off();  // ডাটাবেস কেচিং বন্ধ করা
৪.3 Database Cache Clean করা
$this->db->flush_cache();  // সমস্ত ডাটাবেস কেচ ক্লিয়ার করা

Caching এর সুবিধা

  1. পারফরম্যান্স বৃদ্ধি: Caching দ্বারা ওয়েব পেজ এবং ডেটাবেস কোয়েরির ফলাফল দ্রুত রেন্ডার করা সম্ভব হয়, যা সার্ভারের লোড কমায়।
  2. নেটওয়ার্ক ট্রাফিক কমানো: ডেটা সার্ভারে বারবার রিকোয়েস্ট করার বদলে কেচড ডেটা ব্যবহার করলে নেটওয়ার্ক ট্রাফিক কমে।
  3. প্রতিক্রিয়া সময় কমানো: ব্যবহারকারী ইন্টারঅ্যাকশন দ্রুত হয়, কারণ সার্ভারের পুনরায় প্রক্রিয়াকরণ প্রয়োজন হয় না।

উপসংহার

CodeIgniter-এ Caching ব্যবহার করে অ্যাপ্লিকেশনের পারফরম্যান্স দ্রুত করা যায় এবং সার্ভারের লোড কমানো সম্ভব। Page Caching, Query Caching, File Caching, এবং Database Caching এর মাধ্যমে ডেটা দ্রুত লোড করা সম্ভব, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং সার্ভারের দক্ষতা বৃদ্ধি করে।

Content added By
Promotion